'\" t
.\"     Title: git-retry
.\"    Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
.\"      Date: 05/03/2019
.\"    Manual: Chromium depot_tools Manual
.\"    Source: depot_tools e58cce6c
.\"  Language: English
.\"
.TH "GIT\-RETRY" "1" "05/03/2019" "depot_tools e58cce6c" "Chromium depot_tools Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
git-retry \- Bootstrap function to retry a git command\&.
.SH "SYNOPSIS"
.sp
.nf
\fIgit retry\fR [\-v] [\-c COUNT] [\-d DELAY] [\-D DELAY_FACTOR] \(em \fI<git_subcommand>\fR
.fi
.sp
.SH "DESCRIPTION"
.sp
git retry is a bootstrap that wraps a standard git command execution in a fault\-tolerant retry wrapper\&.
.sp
If a retry succeeds, the return code of the successful attempt is returned\&. Otherwise, the return code of the last failed attempt is returned\&.
.sp
The wrapper is aware of git\-specific failure conditions and will only consider retrying if a given failure can be linked to such a condition\&.
.SH "OPTIONS"
.PP
<git_subcommand>
.RS 4
The
git
command to retry\&. This should omit the actual
git
command (e\&.g\&., to retry
git clone, use
git retry clone)\&.
.RE
.PP
\-v, \-\-verbose
.RS 4
Increases logging verbosity\&. By default, no additional logging is generated by the
git retry
command\&. This can be specified multiple times\&.
.RE
.PP
\-c, \-\-retry\-count \fIcount\fR
.RS 4
Specify the number of retries that should be performed before giving up\&. The default retry count is
\fB5\fR\&.
.RE
.PP
\-d, \-\-delay \fIseconds\fR
.RS 4
Floating\-point value that specifies the amount of time (in seconds) to wait after a failure\&. This can be zero to specify no delay\&. The default delay is
\fB3 seconds\fR\&.
.RE
.PP
\-D, \-\-delay\-factor
.RS 4
The exponential factor to apply to the delay\&. By default this is
\fB2\fR\&. For a given retry round
\fBn\fR, the delay for that round will be
\fB(<delay\-factor>^(n\-1) * delay)\fR\&. If no delay is specified, this will have no effect\&. If the delay factor is
\fB0\fR, the delay will increase linearly (for a given retry round
\fBn\fR, the delay will be
\fB(n * delay)\fR)\&.
.sp
.if n \{\
.RS 4
.\}
.nf
(Note that a delay factor of *1* will result in a constant delay\&.)
.fi
.if n \{\
.RE
.\}
.RE
.SH "EXIT STATUS"
.sp
Upon success, git retry will exit with the successful exit code of \fB0\fR\&. On failure, it will exit with the exit code of the last failed attempt\&.
.SH "CHROMIUM DEPOT_TOOLS"
.sp
Part of the chromium \fBdepot_tools\fR(7) suite\&. These tools are meant to assist with the development of chromium and related projects\&. Download the tools from \m[blue]\fBhere\fR\m[]\&\s-2\u[1]\d\s+2\&.
.SH "NOTES"
.IP " 1." 4
here
.RS 4
\%https://chromium.googlesource.com/chromium/tools/depot_tools.git
.RE
